import unittest

from framework.AW.STrak import strak
from framework.AW.STrak.process import *
from framework.AW.STrak.strak import *
from framework.AW.STrak.station import *
from framework.AW.STrak.car import *


def to_pos():
    try:
        """
        用例1：到位置 
        仿真打开，初始化3辆小车，间距300mm
        配置：上海S3样机（环线）/S3样机配置（3个小车）
        1.初始化
        2.自动模式切换到手动模式下，点击调试                      
        3.小车3运动模式调整为绝对模式
        4.选择3号小车，使能
        5.到位置1000mm
        6.开始移动，小车正常到达
        7.检查小车3位置是否正确

        8.无论成功与否 结束后将模式调整回自动模式 以免影响其他测试
        备注 位置原因 需要先在studio上跑一次才能执行测试
        """
        initial()
        mode_switch_manual()
        car_sport_mode_abs(3)
        enable_car(3)
        car_goal_pos(3, 1000.0)
        car_move(3)
        car_pos_check(3, 1000.0)

    except Exception as e:
        print(f"测试过程出现异常:{e}")
        raise
    finally:
        mode_switch_atuo()


class ToPos(unittest.TestCase):
    @staticmethod
    def testOn():
        to_pos()